package com.moonhill.bt;


public abstract class BTGame {
	private BTServer server;

	public abstract void init();

	public abstract void clearUp();

	public abstract void handleMsg(byte[] msg);

	public void broadCast(byte[] msg) {
		if(this.server != null){
			server.broadCast(msg);
		}
	}

	public BTServer getServer() {
		return server;
	}

	public void setServer(BTServer server) {
		this.server = server;
	}
	
	public static byte[] getBTMsg(byte[] msg) {
		byte[] newData = new byte[4 + msg.length];
		BTUtil.int2Bytes(msg.length, 4 ,newData, 0);
		System.arraycopy(msg, 0, newData, 4, msg.length);
		return newData;
	}
	public static byte[] getAppMsg(byte[] data){
		byte[] appMsg = new byte[data.length - 4];
		System.arraycopy(data, 4, appMsg, 0, appMsg.length);
		return appMsg;
	}

}
